From 1e76e5778a1885452939a79d9145b80634a5b023 Mon Sep 17 00:00:00 2001
From: Andreas Bombe <aeb@debian.org>
Date: Wed, 11 May 2016 03:44:58 +0200
Subject: [PATCH] mkfs: Default to 64/32 heads/sectors for targets smaller than
 512 MB

This may put defaults in certain use cases a little bit more in line
with the old defaults in versions up to 3.0.28. It has mostly aesthetic
value in most cases.

Signed-off-by: Andreas Bombe <aeb@debian.org>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
Patch status: upstream

 src/mkfs.fat.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c
index 8a320fd..bad492b 100644
--- a/src/mkfs.fat.c
+++ b/src/mkfs.fat.c
@@ -519,6 +519,16 @@ static void establish_params(struct device_info *info)
     unsigned int cluster_size = 4;  /* starting point for FAT12 and FAT16 */
     int def_root_dir_entries = 512;
 
+    if (info->size < 512 * 1024 * 1024) {
+	/*
+	 * These values are more or less meaningless, but we can at least
+	 * use less extreme values for smaller filesystems where the large
+	 * dummy values signifying LBA only access are not needed.
+	 */
+	sec_per_track = 32;
+	heads = 64;
+    }
+
     if (info->type != TYPE_FIXED) {
 	/* enter default parameters for floppy disks if the size matches */
 	switch (info->size / 1024) {
-- 
2.7.3

